Remove the AI labeler and dead AI changelog: GitHub Models is retired - #593
Conversation
GitHub retired GitHub Models on 2026-07-30 (playground, catalog, and inference API), so both ai-labeler jobs now fail permanently on every PR. The labeler proved more novelty than useful, so remove it outright rather than migrate it to another backend. The path-based labeler (labeler.yml) is unaffected and remains the deterministic labeling path. The summarize-changelog prompt goes with the release workflow's AI steps in the next commit.
The release workflow's AI-changelog steps (prompt splice, ai-inference call, response-file plumbing) depend on the GitHub Models inference API, retired 2026-07-30. The steps were already continue-on-error and have been silently falling back to GoReleaser's github-native changelog, so removing them changes nothing about the released notes — it just makes the fallback the only path. Also drops the now-unreferenced release.header template from .goreleaser.yaml, the models: read permission, and the RELEASING.md mention.
Sensitive Change Detection (shadow mode)This PR modifies control-plane files:
|
There was a problem hiding this comment.
Pull request overview
This PR removes the AI-based PR labeler and the dead AI-changelog release step, following GitHub's retirement of GitHub Models (playground, catalog, and inference API) on 2026-07-30. The two ai-labeler.yml jobs were failing permanently, and the release workflow's AI-changelog step had been silently falling back to GoReleaser's github-native changelog (via continue-on-error: true). Rather than migrating, the whole stack is removed; deterministic path-based labeling (labeler.yml) and the github-native changelog remain the surviving paths, so released notes are unchanged.
I verified the cleanup is complete: a repo-wide search for every removed identifier (ai-labeler, classify-pr, detect-breaking, summarize-changelog, ai-inference, models: read, RELEASE_CHANGELOG, CHANGELOG_FILE, ai-changelog) returns no matches, .goreleaser.yaml still declares changelog: use: github-native, the GoReleaser step correctly reduces to goreleaser release --clean, and labeler.yml is retained.
Changes:
- Delete the
ai-labeler.ymlworkflow and its three prompt files. - Strip the AI-changelog steps,
models: readpermission, andCHANGELOG_FILE/RELEASE_CHANGELOGplumbing fromrelease.yml. - Remove the now-unreferenced
release.headertemplate in.goreleaser.yamland the AI-changelog mention inRELEASING.md.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/ai-labeler.yml |
Deleted the failing AI classify/breaking-change workflow. |
.github/prompts/classify-pr.prompt.yml |
Removed prompt for the deleted classifier job. |
.github/prompts/detect-breaking.prompt.yml |
Removed prompt for the deleted breaking-change job. |
.github/prompts/summarize-changelog.prompt.yml |
Removed prompt for the deleted AI-changelog step. |
.github/workflows/release.yml |
Stripped AI-changelog steps, models: read, and CHANGELOG_FILE plumbing; GoReleaser now runs plainly. |
.goreleaser.yaml |
Removed the unreferenced release.header changelog template. |
RELEASING.md |
Dropped the AI-changelog line from the release workflow description. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Why
GitHub retired GitHub Models on 2026-07-30 — playground, catalog, and inference API are all gone. The two
ai-labeler.ymljobs now fail permanently on every PR, and the release workflow's AI-changelog step has been silently falling back to GoReleaser's github-native changelog (continue-on-error: true). The labeler proved more novelty than useful, so this removes the stack outright rather than migrating it. Same sweep is landing across basecamp-sdk, hey-cli, fizzy-cli, and cli (including the generator seed).What
.github/workflows/ai-labeler.yml+ the classify-pr/detect-breaking prompts. The path-based labeler (labeler.yml) stays as the deterministic labeling path.actions/ai-inference, response-file plumbing), themodels: readpermission, theCHANGELOG_FILE/RELEASE_CHANGELOGplumbing, the now-unreferencedrelease.headertemplate in.goreleaser.yaml, thesummarize-changelogprompt, and the RELEASING.md mention. Released notes are unchanged — the github-native changelog fallback these steps already fall back to becomes the only path.Notes for review
pull_request_targetruns from the base branch; they disappear after merge. Not required checks (verified against themain-gateruleset)..github/workflows/) — expected, informational.actionlintclean on the edited release.yml; straggler sweep (rg "ai-inference|ai-labeler|classify-pr|detect-breaking|summarize-changelog|models: read|AI changelog") comes back empty.Summary by cubic
Remove the AI labeler and AI changelog steps now that GitHub Models is retired, fixing failing checks and simplifying releases. Release notes continue to use GoReleaser’s GitHub-native changelog; path-based labeling via
labeler.ymlremains..github/workflows/ai-labeler.ymland related prompts.models: readfromrelease.yml; remove changelog env plumbing and theheaderin.goreleaser.yaml.RELEASING.mdto reflect the single changelog path.Written for commit 5a7d509. Summary will update on new commits.